/*
 *  Compound.h
 *  CompoundParser
 *
 *  Created by Ryan Edwards-Crewe on 09-01-10.
 *  Copyright 2010 RECCoder. All rights reserved.
 *
 */

#include <list>

#include "Atom.h"
#include "Bond.h"
#include "Substructure.h"

using namespace std;

class Compound {
public:
	Compound();
	~Compound();

	void clearCompound();
	
	int addMoleData(char&, FILE*);
	int addAtomData(char&, FILE*);
	int addBondData(char&, FILE*);
	int addSubsData(char&, FILE*);
	
	int getAtomCount();
	int getBondCount();
	int getSubsCount();
	
	void writeInsertStatement(FILE*);
	
	int getCID();
	
private:
	
	int CID;
	int ATOM_COUNT;
	int BOND_COUNT;
	int SUBSTRUCTURE_COUNT;
	int FEATURE_COUNT;
	int SET_COUNT;
	
	char MOLECULE_TYPE[13];
	char MOLECULE_CHARGE[17];
	
	list<Atom> AtomList;
	list<Bond> BondList;
	list<Substructure> SubsList;
};